package com.thinkTank.oa.service;

import java.util.function.Consumer;

import com.thinkTank.oa.base.BaseService;
import com.thinkTank.oa.entity.Demand;
import com.thinkTank.oa.entity.Project;

import java.util.List;
import java.util.Map;
public interface DemandService extends BaseService<Demand> {

    /**
     * 导入需求
     * @author pdz
     * @date 2018年9月6日
     * @param demand
     * @param action
     */
    void importData(Demand demand, Consumer<Demand> action);

    /***
     * @author dq
     * @date 2018-09-19
     *  查询所有需求
     * @param count 查询大余 count的需求
     * @return
     */
    public List<Map<Object,Object>> findDemandByIndex(Integer count);
    
    void updateDemandContact(Demand demand);

    /**
     * 根据需求ID查询已经匹配的项目
     * @author pdz
     * @date 2018年10月30日
     * @param demandId
     * @return
     */
	List<Project> queryButtedProject(String demandId);
	
	/**
	 * 通过需求联系人查询需求
	 * @author dongli
	 * @date 2018年11月2日
	 * @param pid
	 * @return
	 */
	public List<Demand> findDemandByPersonId(Demand demand);

	/**
	 * 根据日期查询统计数据
	 * @author pdz
	 * @date 2018年11月5日
	 * @param beginDate
	 * @param endDate
	 */
	List<Integer> queryStatistics(String beginDate, String endDate);

}
